00_01 - Python 101
https://www.anaconda.com/products/distribution#Downloads
condaconda create -n <nombre> python=<versión>conda activate <nombre>conda deactivateconda env remove -n <nombre> --allconda env listcondaconda install <paquete>conda remove <paquete>conda listpip vs condapip es el gestor de paquetes oficial de Pythonconda es el gestor de paquetes de Anacondaconda es más completo (y lento) que pip (e.g., gestión de entornos)conda se basa en binarios, mientras que pip en código fuente (portabilidad, velocidad)conda comprueba potenciales conflictos entre dependencias, con resolución automática de conflictospip usa PyPI (Python Package Index), mientras que conda usa Anaconda Cloud (pese a que también puede usar PyPI y otros repositorios)| Operador | Descripción |
|---|---|
+ |
Suma |
- |
Resta |
* |
Multiplicación |
** |
Potencia |
/ |
División |
// |
División entera |
% |
Módulo |
== |
Igualdad (valor) |
is |
Identidad (referencia) |
!= |
Desigualdad (valor) |
is not |
No identidad (referencia) |
> / >= / < / <= |
Mayor / Mayor o igual / Menor / Menor o igual |
and |
Logical AND |
or |
Logical OR |
not |
Logical NOT |
in |
Contenido |
not in |
No contenido |
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
3
__init__: constructorself: referencia a la instancia de la clase@classmethod: decorador para métodos de clase@staticmethod: decorador para métodos estáticosclass Clase:
def __init__(self, a, b):
self.a = a
self.b = b
def metodo(self):
print(self.a + self.b)
@classmethod
def metodo_clase(cls):
print("Método de clase")
@staticmethod
def metodo_estatico():
print("Método estático")
objeto = Clase(1, 2)
objeto.metodo()
Clase.metodo_clase()
Clase.metodo_estatico()3
Método de clase
Método estático
1
Hola mundo
null en otros lenguajesrange, enumerate, zip)0 a
1 b
2 c
a 1
b 2
c 3
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
{0: 1, 1: 2, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}
{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
Antes de la función
Función
Después de la función
lambda <argumentos>: <expresión>def funcion(<argumentos>): return <expresión>2
yield <elemento>return <elemento> pero no finaliza la ejecución de la función0
1
2
3
4
5
6
7
8
9
2
3
4
5
6
.py__name__: nombre del módulo__main__: nombre del módulo principalif __name__ == "__main__"
__init__.py__init__.pypython -m venv venvpip -Vsource venv/bin/activate (Linux & Mac) o venv\Scripts\activate.bat (Windows)deactivate (Linux & Mac) o venv\Scripts\deactivate.bat (Windows)pip install <paquete>pip freeze > requirements.txt$ python -m venv venv
$ source venv/bin/activate # o venv\Scripts\activate.bat or .ps1
$ pip install numpy
$ pip freeze > requirements.txt
$ deactivate